From: Robert Mader Date: Sun, 6 Jun 2021 12:29:47 +0000 (+0200) Subject: windowManager: Use MetaWindowActor.paint_to_content() for window effects X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~574^2^2~25 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=36a1fb78cddf4be8b26430ff3ab998600356f075;p=gnome-shell.git windowManager: Use MetaWindowActor.paint_to_content() for window effects Previously we used `get_image()`, which returned `cairo_surface`, in order to create a `ClutterContent` with a screenshot of the `MetaWindowActor`. This added a roundtrip from GPU to CPU memory. Instead, use the new `paint_to_content()` API which lets us use a `CoglTexture` directly as source of our `ClutterContent`. Part-of: --- diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index c485fd0f9..caaecec41 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -1283,7 +1283,7 @@ var WindowManager = class { _prepareAnimationInfo(shellwm, actor, oldFrameRect, _change) { // Position a clone of the window on top of the old position, // while actor updates are frozen. - let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect); + let actorContent = actor.paint_to_content(oldFrameRect); let actorClone = new St.Widget({ content: actorContent }); actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS); actorClone.set_position(oldFrameRect.x, oldFrameRect.y);